package com.tengju.data.domain.model.clickhouse;

import com.tengju.data.domain.model.analysis.Row;
import com.tengju.data.domain.model.cqrs.CrowdListFormQO;
import com.tengju.data.domain.shared.BasePage;
import com.tengju.data.domain.shared.Month;
import com.tengju.user.domain.model.user.UserIdCode;

import java.util.List;

/**
 * @author chenhang
 * @Date 2021/5/6
 */
public interface CrowdAnalysisRepository {

    List<Row> tagList(List<UserIdCode> genSecIdCodes);

    BasePage<Row> list(List<UserIdCode> genSecIdCodes, Long idCode,
                       Long belongEcIdCode,
                       Long belongGenSecIdCode,
                       Long belongServiceProviderIdCode,
                       boolean direct,
                       String tagName,
                       String tagValue,
                       Integer offset,
                       Integer pageSize,
                       String orderColumn,
                       String orderType,
                       Month curMonth,
                       Month lastMonth,
                       List<Month> months);

    BasePage<Row> list(CrowdListFormQO qo);

}
